Android调用系统分享和指定app分享 您所在的位置:网站首页 android 调用系统分享 Android调用系统分享和指定app分享

Android调用系统分享和指定app分享

2024-07-03 00:20| 来源: 网络整理| 查看: 265

  Android调用系统分享和指定app分享-微信朋友圈图文分享和qq分享 标签: Android系统分享QQ分享朋友圈图文分享 2016-09-27 22:54  279人阅读  评论(0)  收藏  举报   分类:

版权声明:本文为博主原创文章,未经博主允许不得转载。如有问题,请与我联系( QQ:3290985311)朱小姐。

1.调用系统分享

根据每个手机的情况不同,打开的分享面板内容也是不一样的。其实本质上,分享的目标app是插件化开发,这样调用分享的时候,才能打开对应的Activity,而不需要打开一个完整的app进程。

[java]  view plain  copy   在CODE上查看代码片 派生到我的代码片 /**       * 调用本地分享文本       */       private void showLocationShare(int request) {           Intent sendIntent = new Intent();           sendIntent.setAction(Intent.ACTION_SEND);           sendIntent.putExtra(Intent.EXTRA_TEXT, "这是分享的内容!");//注意:这里只是分享文本内容           sendIntent.setType("text/plain");           startActivityForResult(sendIntent, request);       }   调用系统的分享功能可以不用申请API集成,比较方便,但是不好的地方就是没有回调可以知道是否分享了,分享是否成功了。

2.指定app分享

首先要知道app的包名和Activity的名称。通过以下方法获得手机上全部可用于分享的app的包名和Activity名称。

[java]  view plain  copy   在CODE上查看代码片 派生到我的代码片 Intent share = new Intent(android.content.Intent.ACTION_SEND);           PackageManager packageManager = getPackageManager();           List list=packageManager.queryIntentActivities(share, PackageManager.COMPONENT_ENABLED_STATE_DEFAULT);           for(ResolveInfo info:list){               MyUtils.log(""+info.activityInfo.packageName+"---"+info.activityInfo.name);           }   得到包名和activity名称后,指定目标app分享。以QQ和微信举例。

[java]  view plain  copy   在CODE上查看代码片 派生到我的代码片 Intent sendIntent = new Intent();               sendIntent.setAction(Intent.ACTION_SEND);               sendIntent.putExtra(Intent.EXTRA_TEXT, shareTittle + "\n" + shareContent + "\n" + shareUrl);               sendIntent.setType("text/plain");   //          sendIntent.setClassName("com.tencent.mm", "com.tencent.mm.ui.tools.ShareImgUI");//微信朋友   //          sendIntent.setClassName("com.tencent.mobileqq", "cooperation.qqfav.widget.QfavJumpActivity");//保存到QQ收藏   //          sendIntent.setClassName("com.tencent.mobileqq", "cooperation.qlink.QlinkShareJumpActivity");//QQ面对面快传   //          sendIntent.setClassName("com.tencent.mobileqq", "com.tencent.mobileqq.activity.qfileJumpActivity");//传给我的电脑               sendIntent.setClassName("com.tencent.mobileqq", "com.tencent.mobileqq.activity.JumpActivity");//QQ好友或QQ群   //          sendIntent.setClassName("com.tencent.mm", "com.tencent.mm.ui.tools.ShareToTimeLineUI");//微信朋友圈,仅支持分享图片               startActivityForResult(sendIntent, QUN_QUEST);  

3.Android系统分享-微信朋友圈分享

[java]  view plain  copy   在CODE上查看代码片 派生到我的代码片 Bitmap decodeRecource = BitmapFactory.decodeResource(getResources(), R.drawable.app_icon);               File file = writeFileByBitmap2(decodeRecource);               Uri img = Uri.fromFile(file);//获得一张图片的Uri   分享单张图片到朋友圈

[java]  view plain  copy   在CODE上查看代码片 派生到我的代码片 Intent send = new Intent();               send.setAction(Intent.ACTION_SEND);               send.putExtra(Intent.EXTRA_STREAM, img);               send.setType("image/*");               send.setClassName("com.tencent.mm", "com.tencent.mm.ui.tools.ShareToTimeLineUI");//微信朋友圈,仅支持分享图片               startActivityForResult(send, WX_QUEST);   分享多张图片到朋友圈

[java]  view plain  copy   在CODE上查看代码片 派生到我的代码片 ArrayList uriList = new ArrayList();               uriList.add(img);               uriList.add(img);                              Intent send = new Intent();               send.setAction(Intent.ACTION_SEND_MULTIPLE);               send.putExtra(Intent.EXTRA_STREAM, uriList);               send.setType("image/*");               send.setClassName("com.tencent.mm", "com.tencent.mm.ui.tools.ShareToTimeLineUI");//微信朋友圈,仅支持分享图片               startActivityForResult(send, WX_QUEST);  

微信分享图片+文字

用上面的方法添加图片分享,如果要添加文字,再添加一句代码就可以

[java]  view plain  copy   在CODE上查看代码片 派生到我的代码片 send.putExtra("Kdescription", shareContent+shareUrl);   


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有